package com.company.cloud.club.modules.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.company.cloud.club.modules.db.domain.RecommendCard;
import com.company.cloud.club.modules.db.domain.UserInfo;

import java.util.List;
import java.util.Set;

/**
 * *****************************************************************************
 * <p>
 * 功能名           ：com.qxzychina.vms.service
 * 系统名           ：
 * <p>
 * *****************************************************************************
 * Modification History
 * <p>
 * Date        Name                    Reason for Change
 * ----------  ----------------------  -----------------------------------------
 * 2020/7/18     zhangxu                 Created
 */
public interface RecommendService extends IService<RecommendCard> {

    List<RecommendCard> queryByType(String type);

    Integer countComment(String id);

    List<RecommendCard> selectAllDynamic(Integer isPublish, Integer begin, Integer pageSize);

    int countAllDynamic(Integer isPublish);

    List<RecommendCard> selectAllDynamicToday(Integer isPublish, Integer begin, Integer pageSize);


    List<RecommendCard> queryByParentId(String id);

    List<RecommendCard> selectTopAll(String type);

    boolean removeRecom(String id);

    List<RecommendCard> selectByTypeAndSuggest(String type, int sug);

    List<RecommendCard> selectMyFollow(Set<String> collList, Integer begin, Integer pageSize);

    List<UserInfo> pageUserByParentId(String parentId, Integer begin, Integer pageSize);

    Integer pageCountByParentId(String parentId);

    boolean publishRecom(String id);

    int suggestRecom(String id);

    List<RecommendCard> pageByParentId(String id, Integer begin, Integer pageSize);

    int countMyFollow(Set<String> collList);

    List<RecommendCard> selectMyFriend(Set<String> collList, Integer begin, Integer pageSize);

    int countMyFriend(Set<String> collList);

    List<RecommendCard> selectByClubId(String clubId, Integer begin, Integer pageSize);

    int countByClubId(String clubId);

    List<RecommendCard> pageByUserId(Integer uid, Integer begin, Integer pageSize);

    int countByUserId(Integer uid);

    List<RecommendCard> pageEssenceAndClub(String clubId, Integer begin, Integer pageSize);

    int countEssenceAndClub(String clubId);

    List<RecommendCard> selectByFileTypeAndSuggest(String video, int sug);

    List<RecommendCard> noticeList(String id);

    int updateEssenceRecom(String id);

}
